Linuxでは、 「すべてがファイル」 という抽象化は、通常のファイルからネットワーク ソケットまで、すべての入出力源を一様なバイトストリームにマッピングします。この統合インターフェースにより、一貫した システムレベルのI/O を用いて サーバープロセス および クライアントプロセス のトランザクションを マルチコアプロセッサ間で管理できる。
統一モデル
プログラムが 通常ファイル、 ディレクトリ、またはネットワークアダプタのようなハードウェア ネットワークアダプタにアクセスする場合でも、同じプリミティブを使用します。図11.2の ハードウェア構成(図11.2)で示されるように、オペレーティングシステムは、I/Oバスを介してCPUとメモリをデバイスに接続し、ネットワークをファイルとして扱うことで、 マルチコアプロセッサにおける並行処理を簡素化する。
堅牢なI/Oとメタデータ
次の状況に対処するために ショートカウント (要求されたバイト数 $k$ が利用可能なバイト数 $m$ に対して $k \ge m$ の関係にある場合)、 Rio(堅牢なI/O)パッケージ は rio_readinitb を提供し、 バッファリング入力を行うことができます。メタデータは statを通じて管理されますが、権限として O_RDWR および S_IROTH などの設定は umask。
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>